/*
 * Copyright (c) 2015, 2025 Oracle and/or its affiliates. All rights reserved. This
 * code is released under a tri EPL/GPL/LGPL license. You can use it,
 * redistribute it and/or modify it under the terms of the:
 *
 * Eclipse Public License version 2.0, or
 * GNU General Public License version 2, or
 * GNU Lesser General Public License version 2.1.
 *
 * This file contains configuration values translated from Rubinius.
 *
 * Copyright (c) 2007-2014, Evan Phoenix and contributors
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * * Redistributions of source code must retain the above copyright notice, this
 *   list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above copyright notice
 *   this list of conditions and the following disclaimer in the documentation
 *   and/or other materials provided with the distribution.
 * * Neither the name of Rubinius nor the names of its contributors
 *   may be used to endorse or promote products derived from this software
 *   without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
package org.truffleruby.platform;

import org.truffleruby.RubyContext;

public final class DarwinAMD64NativeConfiguration extends DefaultNativeConfiguration {

    public static void load(NativeConfiguration configuration, RubyContext context) {
        // Generated from tool/generate-native-config.rb on x86_64-darwin
        configuration.config("platform.sigaction.sizeof", 16);
        configuration.config("platform.sigaction.sa_handler.offset", 0);
        configuration.config("platform.sigaction.sa_handler.size", 8);
        configuration.config("platform.sigaction.sa_handler.type", string(context, "pointer"));
        configuration.config("platform.dirent.sizeof", 1048);
        configuration.config("platform.dirent.d_name.offset", 21);
        configuration.config("platform.dirent.d_name.size", 1024);
        configuration.config("platform.dirent.d_name.type", string(context, "char_array"));
        configuration.config("platform.dirent.d_type.offset", 20);
        configuration.config("platform.dirent.d_type.size", 1);
        configuration.config("platform.dirent.d_type.type", string(context, "uchar"));
        configuration.config("platform.addrinfo.sizeof", 48);
        configuration.config("platform.addrinfo.ai_flags.offset", 0);
        configuration.config("platform.addrinfo.ai_flags.size", 4);
        configuration.config("platform.addrinfo.ai_flags.type", string(context, "int"));
        configuration.config("platform.addrinfo.ai_family.offset", 4);
        configuration.config("platform.addrinfo.ai_family.size", 4);
        configuration.config("platform.addrinfo.ai_family.type", string(context, "int"));
        configuration.config("platform.addrinfo.ai_socktype.offset", 8);
        configuration.config("platform.addrinfo.ai_socktype.size", 4);
        configuration.config("platform.addrinfo.ai_socktype.type", string(context, "int"));
        configuration.config("platform.addrinfo.ai_protocol.offset", 12);
        configuration.config("platform.addrinfo.ai_protocol.size", 4);
        configuration.config("platform.addrinfo.ai_protocol.type", string(context, "int"));
        configuration.config("platform.addrinfo.ai_addrlen.offset", 16);
        configuration.config("platform.addrinfo.ai_addrlen.size", 4);
        configuration.config("platform.addrinfo.ai_addrlen.type", string(context, "uint"));
        configuration.config("platform.addrinfo.ai_addr.offset", 32);
        configuration.config("platform.addrinfo.ai_addr.size", 8);
        configuration.config("platform.addrinfo.ai_addr.type", string(context, "pointer"));
        configuration.config("platform.addrinfo.ai_canonname.offset", 24);
        configuration.config("platform.addrinfo.ai_canonname.size", 8);
        configuration.config("platform.addrinfo.ai_canonname.type", string(context, "string"));
        configuration.config("platform.addrinfo.ai_next.offset", 40);
        configuration.config("platform.addrinfo.ai_next.size", 8);
        configuration.config("platform.addrinfo.ai_next.type", string(context, "pointer"));
        configuration.config("platform.ifaddrs.sizeof", 56);
        configuration.config("platform.ifaddrs.ifa_next.offset", 0);
        configuration.config("platform.ifaddrs.ifa_next.size", 8);
        configuration.config("platform.ifaddrs.ifa_next.type", string(context, "pointer"));
        configuration.config("platform.ifaddrs.ifa_name.offset", 8);
        configuration.config("platform.ifaddrs.ifa_name.size", 8);
        configuration.config("platform.ifaddrs.ifa_name.type", string(context, "string"));
        configuration.config("platform.ifaddrs.ifa_flags.offset", 16);
        configuration.config("platform.ifaddrs.ifa_flags.size", 4);
        configuration.config("platform.ifaddrs.ifa_flags.type", string(context, "uint"));
        configuration.config("platform.ifaddrs.ifa_addr.offset", 24);
        configuration.config("platform.ifaddrs.ifa_addr.size", 8);
        configuration.config("platform.ifaddrs.ifa_addr.type", string(context, "pointer"));
        configuration.config("platform.ifaddrs.ifa_netmask.offset", 32);
        configuration.config("platform.ifaddrs.ifa_netmask.size", 8);
        configuration.config("platform.ifaddrs.ifa_netmask.type", string(context, "pointer"));
        configuration.config("platform.ifaddrs.ifa_broadaddr.offset", 40);
        configuration.config("platform.ifaddrs.ifa_broadaddr.size", 8);
        configuration.config("platform.ifaddrs.ifa_broadaddr.type", string(context, "pointer"));
        configuration.config("platform.ifaddrs.ifa_dstaddr.offset", 40);
        configuration.config("platform.ifaddrs.ifa_dstaddr.size", 8);
        configuration.config("platform.ifaddrs.ifa_dstaddr.type", string(context, "pointer"));
        configuration.config("platform.sockaddr.sizeof", 16);
        configuration.config("platform.sockaddr.sa_family.offset", 1);
        configuration.config("platform.sockaddr.sa_family.size", 1);
        configuration.config("platform.sockaddr.sa_family.type", string(context, "uchar"));
        configuration.config("platform.sockaddr.sa_data.offset", 2);
        configuration.config("platform.sockaddr.sa_data.size", 14);
        configuration.config("platform.sockaddr.sa_data.type", string(context, "char_array"));
        configuration.config("platform.sockaddr_in.sizeof", 16);
        configuration.config("platform.sockaddr_in.sin_family.offset", 1);
        configuration.config("platform.sockaddr_in.sin_family.size", 1);
        configuration.config("platform.sockaddr_in.sin_family.type", string(context, "uchar"));
        configuration.config("platform.sockaddr_in.sin_port.offset", 2);
        configuration.config("platform.sockaddr_in.sin_port.size", 2);
        configuration.config("platform.sockaddr_in.sin_port.type", string(context, "ushort"));
        configuration.config("platform.sockaddr_in.sin_addr.offset", 4);
        configuration.config("platform.sockaddr_in.sin_addr.size", 4);
        configuration.config("platform.sockaddr_in.sin_addr.type", string(context, "char_array"));
        configuration.config("platform.sockaddr_in.sin_zero.offset", 8);
        configuration.config("platform.sockaddr_in.sin_zero.size", 8);
        configuration.config("platform.sockaddr_in.sin_zero.type", string(context, "char_array"));
        configuration.config("platform.sockaddr_in6.sizeof", 28);
        configuration.config("platform.sockaddr_in6.sin6_family.offset", 1);
        configuration.config("platform.sockaddr_in6.sin6_family.size", 1);
        configuration.config("platform.sockaddr_in6.sin6_family.type", string(context, "uchar"));
        configuration.config("platform.sockaddr_in6.sin6_port.offset", 2);
        configuration.config("platform.sockaddr_in6.sin6_port.size", 2);
        configuration.config("platform.sockaddr_in6.sin6_port.type", string(context, "ushort"));
        configuration.config("platform.sockaddr_in6.sin6_flowinfo.offset", 4);
        configuration.config("platform.sockaddr_in6.sin6_flowinfo.size", 4);
        configuration.config("platform.sockaddr_in6.sin6_flowinfo.type", string(context, "uint"));
        configuration.config("platform.sockaddr_in6.sin6_addr.offset", 8);
        configuration.config("platform.sockaddr_in6.sin6_addr.size", 16);
        configuration.config("platform.sockaddr_in6.sin6_addr.type", string(context, "char_array"));
        configuration.config("platform.sockaddr_in6.sin6_scope_id.offset", 24);
        configuration.config("platform.sockaddr_in6.sin6_scope_id.size", 4);
        configuration.config("platform.sockaddr_in6.sin6_scope_id.type", string(context, "uint"));
        configuration.config("platform.sockaddr_un.sizeof", 106);
        configuration.config("platform.sockaddr_un.sun_family.offset", 1);
        configuration.config("platform.sockaddr_un.sun_family.size", 1);
        configuration.config("platform.sockaddr_un.sun_family.type", string(context, "uchar"));
        configuration.config("platform.sockaddr_un.sun_path.offset", 2);
        configuration.config("platform.sockaddr_un.sun_path.size", 104);
        configuration.config("platform.sockaddr_un.sun_path.type", string(context, "char_array"));
        configuration.config("platform.hostent.sizeof", 32);
        configuration.config("platform.hostent.h_name.offset", 0);
        configuration.config("platform.hostent.h_name.size", 8);
        configuration.config("platform.hostent.h_name.type", string(context, "string"));
        configuration.config("platform.hostent.h_aliases.offset", 8);
        configuration.config("platform.hostent.h_aliases.size", 8);
        configuration.config("platform.hostent.h_aliases.type", string(context, "pointer"));
        configuration.config("platform.hostent.h_addrtype.offset", 16);
        configuration.config("platform.hostent.h_addrtype.size", 4);
        configuration.config("platform.hostent.h_addrtype.type", string(context, "int"));
        configuration.config("platform.hostent.h_length.offset", 20);
        configuration.config("platform.hostent.h_length.size", 4);
        configuration.config("platform.hostent.h_length.type", string(context, "int"));
        configuration.config("platform.hostent.h_addr_list.offset", 24);
        configuration.config("platform.hostent.h_addr_list.size", 8);
        configuration.config("platform.hostent.h_addr_list.type", string(context, "pointer"));
        configuration.config("platform.linger.sizeof", 8);
        configuration.config("platform.linger.l_onoff.offset", 0);
        configuration.config("platform.linger.l_onoff.size", 4);
        configuration.config("platform.linger.l_onoff.type", string(context, "int"));
        configuration.config("platform.linger.l_linger.offset", 4);
        configuration.config("platform.linger.l_linger.size", 4);
        configuration.config("platform.linger.l_linger.type", string(context, "int"));
        configuration.config("platform.iovec.sizeof", 16);
        configuration.config("platform.iovec.iov_base.offset", 0);
        configuration.config("platform.iovec.iov_base.size", 8);
        configuration.config("platform.iovec.iov_base.type", string(context, "pointer"));
        configuration.config("platform.iovec.iov_len.offset", 8);
        configuration.config("platform.iovec.iov_len.size", 8);
        configuration.config("platform.iovec.iov_len.type", string(context, "ulong"));
        configuration.config("platform.msghdr.sizeof", 48);
        configuration.config("platform.msghdr.msg_name.offset", 0);
        configuration.config("platform.msghdr.msg_name.size", 8);
        configuration.config("platform.msghdr.msg_name.type", string(context, "pointer"));
        configuration.config("platform.msghdr.msg_namelen.offset", 8);
        configuration.config("platform.msghdr.msg_namelen.size", 4);
        configuration.config("platform.msghdr.msg_namelen.type", string(context, "uint"));
        configuration.config("platform.msghdr.msg_iov.offset", 16);
        configuration.config("platform.msghdr.msg_iov.size", 8);
        configuration.config("platform.msghdr.msg_iov.type", string(context, "pointer"));
        configuration.config("platform.msghdr.msg_iovlen.offset", 24);
        configuration.config("platform.msghdr.msg_iovlen.size", 4);
        configuration.config("platform.msghdr.msg_iovlen.type", string(context, "int"));
        configuration.config("platform.msghdr.msg_control.offset", 32);
        configuration.config("platform.msghdr.msg_control.size", 8);
        configuration.config("platform.msghdr.msg_control.type", string(context, "pointer"));
        configuration.config("platform.msghdr.msg_controllen.offset", 40);
        configuration.config("platform.msghdr.msg_controllen.size", 4);
        configuration.config("platform.msghdr.msg_controllen.type", string(context, "uint"));
        configuration.config("platform.msghdr.msg_flags.offset", 44);
        configuration.config("platform.msghdr.msg_flags.size", 4);
        configuration.config("platform.msghdr.msg_flags.type", string(context, "int"));
        configuration.config("platform.servent.sizeof", 32);
        configuration.config("platform.servent.s_name.offset", 0);
        configuration.config("platform.servent.s_name.size", 8);
        configuration.config("platform.servent.s_name.type", string(context, "string"));
        configuration.config("platform.servent.s_aliases.offset", 8);
        configuration.config("platform.servent.s_aliases.size", 8);
        configuration.config("platform.servent.s_aliases.type", string(context, "pointer"));
        configuration.config("platform.servent.s_port.offset", 16);
        configuration.config("platform.servent.s_port.size", 4);
        configuration.config("platform.servent.s_port.type", string(context, "int"));
        configuration.config("platform.servent.s_proto.offset", 24);
        configuration.config("platform.servent.s_proto.size", 8);
        configuration.config("platform.servent.s_proto.type", string(context, "string"));
        configuration.config("platform.errno.E2BIG", 7);
        configuration.config("platform.errno.EACCES", 13);
        configuration.config("platform.errno.EADDRINUSE", 48);
        configuration.config("platform.errno.EADDRNOTAVAIL", 49);
        configuration.config("platform.errno.EAFNOSUPPORT", 47);
        configuration.config("platform.errno.EAGAIN", 35);
        configuration.config("platform.errno.EALREADY", 37);
        configuration.config("platform.errno.EAUTH", 80);
        configuration.config("platform.errno.EBADARCH", 86);
        configuration.config("platform.errno.EBADEXEC", 85);
        configuration.config("platform.errno.EBADF", 9);
        configuration.config("platform.errno.EBADMACHO", 88);
        configuration.config("platform.errno.EBADMSG", 94);
        configuration.config("platform.errno.EBADRPC", 72);
        configuration.config("platform.errno.EBUSY", 16);
        configuration.config("platform.errno.ECANCELED", 89);
        configuration.config("platform.errno.ECHILD", 10);
        configuration.config("platform.errno.ECONNABORTED", 53);
        configuration.config("platform.errno.ECONNREFUSED", 61);
        configuration.config("platform.errno.ECONNRESET", 54);
        configuration.config("platform.errno.EDEADLK", 11);
        configuration.config("platform.errno.EDESTADDRREQ", 39);
        configuration.config("platform.errno.EDEVERR", 83);
        configuration.config("platform.errno.EDOM", 33);
        configuration.config("platform.errno.EDQUOT", 69);
        configuration.config("platform.errno.EEXIST", 17);
        configuration.config("platform.errno.EFAULT", 14);
        configuration.config("platform.errno.EFBIG", 27);
        configuration.config("platform.errno.EFTYPE", 79);
        configuration.config("platform.errno.EHOSTDOWN", 64);
        configuration.config("platform.errno.EHOSTUNREACH", 65);
        configuration.config("platform.errno.EIDRM", 90);
        configuration.config("platform.errno.EILSEQ", 92);
        configuration.config("platform.errno.EINPROGRESS", 36);
        configuration.config("platform.errno.EINTR", 4);
        configuration.config("platform.errno.EINVAL", 22);
        configuration.config("platform.errno.EIO", 5);
        configuration.config("platform.errno.EISCONN", 56);
        configuration.config("platform.errno.EISDIR", 21);
        configuration.config("platform.errno.ELAST", 106);
        configuration.config("platform.errno.ELOOP", 62);
        configuration.config("platform.errno.EMFILE", 24);
        configuration.config("platform.errno.EMLINK", 31);
        configuration.config("platform.errno.EMSGSIZE", 40);
        configuration.config("platform.errno.EMULTIHOP", 95);
        configuration.config("platform.errno.ENAMETOOLONG", 63);
        configuration.config("platform.errno.ENEEDAUTH", 81);
        configuration.config("platform.errno.ENETDOWN", 50);
        configuration.config("platform.errno.ENETRESET", 52);
        configuration.config("platform.errno.ENETUNREACH", 51);
        configuration.config("platform.errno.ENFILE", 23);
        configuration.config("platform.errno.ENOATTR", 93);
        configuration.config("platform.errno.ENOBUFS", 55);
        configuration.config("platform.errno.ENODATA", 96);
        configuration.config("platform.errno.ENODEV", 19);
        configuration.config("platform.errno.ENOENT", 2);
        configuration.config("platform.errno.ENOEXEC", 8);
        configuration.config("platform.errno.ENOLCK", 77);
        configuration.config("platform.errno.ENOLINK", 97);
        configuration.config("platform.errno.ENOMEM", 12);
        configuration.config("platform.errno.ENOMSG", 91);
        configuration.config("platform.errno.ENOPOLICY", 103);
        configuration.config("platform.errno.ENOPROTOOPT", 42);
        configuration.config("platform.errno.ENOSPC", 28);
        configuration.config("platform.errno.ENOSR", 98);
        configuration.config("platform.errno.ENOSTR", 99);
        configuration.config("platform.errno.ENOSYS", 78);
        configuration.config("platform.errno.ENOTBLK", 15);
        configuration.config("platform.errno.ENOTCONN", 57);
        configuration.config("platform.errno.ENOTDIR", 20);
        configuration.config("platform.errno.ENOTEMPTY", 66);
        configuration.config("platform.errno.ENOTRECOVERABLE", 104);
        configuration.config("platform.errno.ENOTSOCK", 38);
        configuration.config("platform.errno.ENOTSUP", 45);
        configuration.config("platform.errno.ENOTTY", 25);
        configuration.config("platform.errno.ENXIO", 6);
        configuration.config("platform.errno.EOPNOTSUPP", 102);
        configuration.config("platform.errno.EOVERFLOW", 84);
        configuration.config("platform.errno.EOWNERDEAD", 105);
        configuration.config("platform.errno.EPERM", 1);
        configuration.config("platform.errno.EPFNOSUPPORT", 46);
        configuration.config("platform.errno.EPIPE", 32);
        configuration.config("platform.errno.EPROCLIM", 67);
        configuration.config("platform.errno.EPROCUNAVAIL", 76);
        configuration.config("platform.errno.EPROGMISMATCH", 75);
        configuration.config("platform.errno.EPROGUNAVAIL", 74);
        configuration.config("platform.errno.EPROTO", 100);
        configuration.config("platform.errno.EPROTONOSUPPORT", 43);
        configuration.config("platform.errno.EPROTOTYPE", 41);
        configuration.config("platform.errno.EPWROFF", 82);
        configuration.config("platform.errno.EQFULL", 106);
        configuration.config("platform.errno.ERANGE", 34);
        configuration.config("platform.errno.EREMOTE", 71);
        configuration.config("platform.errno.EROFS", 30);
        configuration.config("platform.errno.ERPCMISMATCH", 73);
        configuration.config("platform.errno.ESHLIBVERS", 87);
        configuration.config("platform.errno.ESHUTDOWN", 58);
        configuration.config("platform.errno.ESOCKTNOSUPPORT", 44);
        configuration.config("platform.errno.ESPIPE", 29);
        configuration.config("platform.errno.ESRCH", 3);
        configuration.config("platform.errno.ESTALE", 70);
        configuration.config("platform.errno.ETIME", 101);
        configuration.config("platform.errno.ETIMEDOUT", 60);
        configuration.config("platform.errno.ETOOMANYREFS", 59);
        configuration.config("platform.errno.ETXTBSY", 26);
        configuration.config("platform.errno.EUSERS", 68);
        configuration.config("platform.errno.EWOULDBLOCK", 35);
        configuration.config("platform.errno.EXDEV", 18);
        configuration.config("platform.limits.NSIG", 32);
        configuration.config("platform.langinfo.CODESET", 0);
        configuration.config("platform.file.FNM_CASEFOLD", 16);
        configuration.config("platform.file.FNM_NOESCAPE", 1);
        configuration.config("platform.file.FNM_PATHNAME", 2);
        configuration.config("platform.file.LOCK_SH", 1);
        configuration.config("platform.file.LOCK_EX", 2);
        configuration.config("platform.file.LOCK_NB", 4);
        configuration.config("platform.file.LOCK_UN", 8);
        configuration.config("platform.file.O_RDONLY", 0);
        configuration.config("platform.file.O_WRONLY", 1);
        configuration.config("platform.file.O_RDWR", 2);
        configuration.config("platform.file.O_ACCMODE", 3);
        configuration.config("platform.file.O_CLOEXEC", 16777216);
        configuration.config("platform.file.O_CREAT", 512);
        configuration.config("platform.file.O_EXCL", 2048);
        configuration.config("platform.file.O_NOCTTY", 131072);
        configuration.config("platform.file.O_TRUNC", 1024);
        configuration.config("platform.file.O_APPEND", 8);
        configuration.config("platform.file.O_NONBLOCK", 4);
        configuration.config("platform.file.O_NDELAY", 4);
        configuration.config("platform.file.O_SYNC", 128);
        configuration.config("platform.file.S_IRUSR", 256);
        configuration.config("platform.file.S_IWUSR", 128);
        configuration.config("platform.file.S_IXUSR", 64);
        configuration.config("platform.file.S_IRGRP", 32);
        configuration.config("platform.file.S_IWGRP", 16);
        configuration.config("platform.file.S_IXGRP", 8);
        configuration.config("platform.file.S_IROTH", 4);
        configuration.config("platform.file.S_IWOTH", 2);
        configuration.config("platform.file.S_IXOTH", 1);
        configuration.config("platform.file.S_IFMT", 61440);
        configuration.config("platform.file.S_IFIFO", 4096);
        configuration.config("platform.file.S_IFCHR", 8192);
        configuration.config("platform.file.S_IFDIR", 16384);
        configuration.config("platform.file.S_IFBLK", 24576);
        configuration.config("platform.file.S_IFREG", 32768);
        configuration.config("platform.file.S_IFLNK", 40960);
        configuration.config("platform.file.S_IFSOCK", 49152);
        configuration.config("platform.file.S_IFWHT", 57344);
        configuration.config("platform.file.S_ISUID", 2048);
        configuration.config("platform.file.S_ISGID", 1024);
        configuration.config("platform.file.S_ISVTX", 512);
        configuration.config("platform.file.DT_BLK", 6);
        configuration.config("platform.file.DT_CHR", 2);
        configuration.config("platform.file.DT_DIR", 4);
        configuration.config("platform.file.DT_FIFO", 1);
        configuration.config("platform.file.DT_LNK", 10);
        configuration.config("platform.file.DT_REG", 8);
        configuration.config("platform.file.DT_SOCK", 12);
        configuration.config("platform.file.DT_UNKNOWN", 0);
        configuration.config("platform.file.AT_SYMLINK_NOFOLLOW", 32);
        configuration.config("platform.io.SEEK_SET", 0);
        configuration.config("platform.io.SEEK_CUR", 1);
        configuration.config("platform.io.SEEK_END", 2);
        configuration.config("platform.io.SEEK_DATA", 4);
        configuration.config("platform.io.SEEK_HOLE", 3);
        configuration.config("platform.fcntl.F_GETFL", 3);
        configuration.config("platform.fcntl.F_SETFL", 4);
        configuration.config("platform.fcntl.F_DUPFD", 0);
        configuration.config("platform.fcntl.F_DUPFD_CLOEXEC", 67);
        configuration.config("platform.fcntl.F_GETFD", 1);
        configuration.config("platform.fcntl.F_SETFD", 2);
        configuration.config("platform.fcntl.FD_CLOEXEC", 1);
        configuration.config("platform.fcntl.F_GETOWN", 5);
        configuration.config("platform.fcntl.F_SETOWN", 6);
        configuration.config("platform.fcntl.F_GETLK", 7);
        configuration.config("platform.fcntl.F_SETLK", 8);
        configuration.config("platform.fcntl.F_SETLKW", 9);
        configuration.config("platform.fcntl.F_RDLCK", 1);
        configuration.config("platform.fcntl.F_UNLCK", 2);
        configuration.config("platform.fcntl.F_WRLCK", 3);
        configuration.config("platform.fcntl.F_CHKCLEAN", 41);
        configuration.config("platform.fcntl.F_PREALLOCATE", 42);
        configuration.config("platform.fcntl.F_SETSIZE", 43);
        configuration.config("platform.fcntl.F_RDADVISE", 44);
        configuration.config("platform.fcntl.F_RDAHEAD", 45);
        configuration.config("platform.fcntl.F_NOCACHE", 48);
        configuration.config("platform.fcntl.F_LOG2PHYS", 49);
        configuration.config("platform.fcntl.F_GETPATH", 50);
        configuration.config("platform.fcntl.F_FULLFSYNC", 51);
        configuration.config("platform.fcntl.F_PATHPKG_CHECK", 52);
        configuration.config("platform.fcntl.F_FREEZE_FS", 53);
        configuration.config("platform.fcntl.F_THAW_FS", 54);
        configuration.config("platform.fcntl.F_GLOBAL_NOCACHE", 55);
        configuration.config("platform.fcntl.F_ALLOCATECONTIG", 2);
        configuration.config("platform.fcntl.F_ALLOCATEALL", 4);
        configuration.config("platform.poll.POLLIN", 1);
        configuration.config("platform.poll.POLLPRI", 2);
        configuration.config("platform.poll.POLLOUT", 4);
        configuration.config("platform.poll.POLLERR", 8);
        configuration.config("platform.poll.POLLHUP", 16);
        configuration.config("platform.poll.POLLRDNORM", 64);
        configuration.config("platform.poll.POLLRDBAND", 128);
        configuration.config("platform.poll.POLLWRNORM", 4);
        configuration.config("platform.poll.POLLWRBAND", 256);
        configuration.config("platform.socket.AF_APPLETALK", 16);
        configuration.config("platform.socket.PF_APPLETALK", 16);
        configuration.config("platform.socket.AF_INET", 2);
        configuration.config("platform.socket.PF_INET", 2);
        configuration.config("platform.socket.AF_INET6", 30);
        configuration.config("platform.socket.PF_INET6", 30);
        configuration.config("platform.socket.AF_IPX", 23);
        configuration.config("platform.socket.PF_IPX", 23);
        configuration.config("platform.socket.AF_ISDN", 28);
        configuration.config("platform.socket.PF_ISDN", 28);
        configuration.config("platform.socket.AF_LOCAL", 1);
        configuration.config("platform.socket.PF_LOCAL", 1);
        configuration.config("platform.socket.AF_MAX", 41);
        configuration.config("platform.socket.PF_MAX", 41);
        configuration.config("platform.socket.AF_ROUTE", 17);
        configuration.config("platform.socket.PF_ROUTE", 17);
        configuration.config("platform.socket.AF_SNA", 11);
        configuration.config("platform.socket.PF_SNA", 11);
        configuration.config("platform.socket.AF_UNIX", 1);
        configuration.config("platform.socket.PF_UNIX", 1);
        configuration.config("platform.socket.AF_UNSPEC", 0);
        configuration.config("platform.socket.PF_UNSPEC", 0);
        configuration.config("platform.socket.PF_KEY", 29);
        configuration.config("platform.socket.AI_ADDRCONFIG", 1024);
        configuration.config("platform.socket.AI_ALL", 256);
        configuration.config("platform.socket.AI_CANONNAME", 2);
        configuration.config("platform.socket.AI_NUMERICHOST", 4);
        configuration.config("platform.socket.AI_NUMERICSERV", 4096);
        configuration.config("platform.socket.AI_PASSIVE", 1);
        configuration.config("platform.socket.AI_V4MAPPED", 2048);
        configuration.config("platform.socket.EAI_ADDRFAMILY", 1);
        configuration.config("platform.socket.EAI_AGAIN", 2);
        configuration.config("platform.socket.EAI_BADFLAGS", 3);
        configuration.config("platform.socket.EAI_FAIL", 4);
        configuration.config("platform.socket.EAI_FAMILY", 5);
        configuration.config("platform.socket.EAI_MEMORY", 6);
        configuration.config("platform.socket.EAI_NODATA", 7);
        configuration.config("platform.socket.EAI_NONAME", 8);
        configuration.config("platform.socket.EAI_OVERFLOW", 14);
        configuration.config("platform.socket.EAI_SERVICE", 9);
        configuration.config("platform.socket.EAI_SOCKTYPE", 10);
        configuration.config("platform.socket.EAI_SYSTEM", 11);
        configuration.config("platform.socket.IFF_ALLMULTI", 512);
        configuration.config("platform.socket.IFF_BROADCAST", 2);
        configuration.config("platform.socket.IFF_DEBUG", 4);
        configuration.config("platform.socket.IFF_LOOPBACK", 8);
        configuration.config("platform.socket.IFF_MULTICAST", 32768);
        configuration.config("platform.socket.IFF_NOARP", 128);
        configuration.config("platform.socket.IFF_NOTRAILERS", 32);
        configuration.config("platform.socket.IFF_POINTOPOINT", 16);
        configuration.config("platform.socket.IFF_PROMISC", 256);
        configuration.config("platform.socket.IFF_RUNNING", 64);
        configuration.config("platform.socket.IFF_UP", 1);
        configuration.config("platform.socket.IF_NAMESIZE", 16);
        configuration.config("platform.socket.INADDR_ALLHOSTS_GROUP", 3758096385L);
        configuration.config("platform.socket.INADDR_ANY", 0);
        configuration.config("platform.socket.INADDR_BROADCAST", 4294967295L);
        configuration.config("platform.socket.INADDR_LOOPBACK", 2130706433);
        configuration.config("platform.socket.INADDR_MAX_LOCAL_GROUP", 3758096639L);
        configuration.config("platform.socket.INADDR_NONE", 4294967295L);
        configuration.config("platform.socket.INADDR_UNSPEC_GROUP", 3758096384L);
        configuration.config("platform.socket.INET6_ADDRSTRLEN", 46);
        configuration.config("platform.socket.INET_ADDRSTRLEN", 16);
        configuration.config("platform.socket.IPPORT_RESERVED", 1024);
        configuration.config("platform.socket.IPPORT_USERRESERVED", 5000);
        configuration.config("platform.socket.IPPROTO_AH", 51);
        configuration.config("platform.socket.IPPROTO_DSTOPTS", 60);
        configuration.config("platform.socket.IPPROTO_EGP", 8);
        configuration.config("platform.socket.IPPROTO_ESP", 50);
        configuration.config("platform.socket.IPPROTO_FRAGMENT", 44);
        configuration.config("platform.socket.IPPROTO_HOPOPTS", 0);
        configuration.config("platform.socket.IPPROTO_ICMP", 1);
        configuration.config("platform.socket.IPPROTO_ICMPV6", 58);
        configuration.config("platform.socket.IPPROTO_IDP", 22);
        configuration.config("platform.socket.IPPROTO_IGMP", 2);
        configuration.config("platform.socket.IPPROTO_IP", 0);
        configuration.config("platform.socket.IPPROTO_IPV6", 41);
        configuration.config("platform.socket.IPPROTO_NONE", 59);
        configuration.config("platform.socket.IPPROTO_PUP", 12);
        configuration.config("platform.socket.IPPROTO_RAW", 255);
        configuration.config("platform.socket.IPPROTO_ROUTING", 43);
        configuration.config("platform.socket.IPPROTO_TCP", 6);
        configuration.config("platform.socket.IPPROTO_TP", 29);
        configuration.config("platform.socket.IPPROTO_UDP", 17);
        configuration.config("platform.socket.IPV6_CHECKSUM", 26);
        configuration.config("platform.socket.IPV6_JOIN_GROUP", 12);
        configuration.config("platform.socket.IPV6_LEAVE_GROUP", 13);
        configuration.config("platform.socket.IPV6_MULTICAST_HOPS", 10);
        configuration.config("platform.socket.IPV6_MULTICAST_IF", 9);
        configuration.config("platform.socket.IPV6_MULTICAST_LOOP", 11);
        configuration.config("platform.socket.IPV6_RECVTCLASS", 35);
        configuration.config("platform.socket.IPV6_RTHDR_TYPE_0", 0);
        configuration.config("platform.socket.IPV6_TCLASS", 36);
        configuration.config("platform.socket.IPV6_UNICAST_HOPS", 4);
        configuration.config("platform.socket.IPV6_V6ONLY", 27);
        configuration.config("platform.socket.IP_ADD_MEMBERSHIP", 12);
        configuration.config("platform.socket.IP_ADD_SOURCE_MEMBERSHIP", 70);
        configuration.config("platform.socket.IP_BLOCK_SOURCE", 72);
        configuration.config("platform.socket.IP_DEFAULT_MULTICAST_LOOP", 1);
        configuration.config("platform.socket.IP_DEFAULT_MULTICAST_TTL", 1);
        configuration.config("platform.socket.IP_DROP_MEMBERSHIP", 13);
        configuration.config("platform.socket.IP_DROP_SOURCE_MEMBERSHIP", 71);
        configuration.config("platform.socket.IP_HDRINCL", 2);
        configuration.config("platform.socket.IP_IPSEC_POLICY", 21);
        configuration.config("platform.socket.IP_MAX_MEMBERSHIPS", 4095);
        configuration.config("platform.socket.IP_MSFILTER", 74);
        configuration.config("platform.socket.IP_MULTICAST_IF", 9);
        configuration.config("platform.socket.IP_MULTICAST_LOOP", 11);
        configuration.config("platform.socket.IP_MULTICAST_TTL", 10);
        configuration.config("platform.socket.IP_OPTIONS", 1);
        configuration.config("platform.socket.IP_PKTINFO", 26);
        configuration.config("platform.socket.IP_RECVOPTS", 5);
        configuration.config("platform.socket.IP_RECVRETOPTS", 6);
        configuration.config("platform.socket.IP_RECVTOS", 27);
        configuration.config("platform.socket.IP_RECVTTL", 24);
        configuration.config("platform.socket.IP_RETOPTS", 8);
        configuration.config("platform.socket.IP_TOS", 3);
        configuration.config("platform.socket.IP_TTL", 4);
        configuration.config("platform.socket.IP_UNBLOCK_SOURCE", 73);
        configuration.config("platform.socket.MCAST_BLOCK_SOURCE", 84);
        configuration.config("platform.socket.MCAST_EXCLUDE", 2);
        configuration.config("platform.socket.MCAST_INCLUDE", 1);
        configuration.config("platform.socket.MCAST_JOIN_GROUP", 80);
        configuration.config("platform.socket.MCAST_JOIN_SOURCE_GROUP", 82);
        configuration.config("platform.socket.MCAST_LEAVE_GROUP", 81);
        configuration.config("platform.socket.MCAST_LEAVE_SOURCE_GROUP", 83);
        configuration.config("platform.socket.MCAST_UNBLOCK_SOURCE", 85);
        configuration.config("platform.socket.MSG_CTRUNC", 32);
        configuration.config("platform.socket.MSG_DONTROUTE", 4);
        configuration.config("platform.socket.MSG_DONTWAIT", 128);
        configuration.config("platform.socket.MSG_EOR", 8);
        configuration.config("platform.socket.MSG_NOSIGNAL", 524288);
        configuration.config("platform.socket.MSG_OOB", 1);
        configuration.config("platform.socket.MSG_PEEK", 2);
        configuration.config("platform.socket.MSG_TRUNC", 16);
        configuration.config("platform.socket.MSG_WAITALL", 64);
        configuration.config("platform.socket.NI_DGRAM", 16);
        configuration.config("platform.socket.NI_MAXHOST", 1025);
        configuration.config("platform.socket.NI_MAXSERV", 32);
        configuration.config("platform.socket.NI_NAMEREQD", 4);
        configuration.config("platform.socket.NI_NOFQDN", 1);
        configuration.config("platform.socket.NI_NUMERICHOST", 2);
        configuration.config("platform.socket.NI_NUMERICSERV", 8);
        configuration.config("platform.socket.SCM_RIGHTS", 1);
        configuration.config("platform.socket.SCM_TIMESTAMP", 2);
        configuration.config("platform.socket.SEEK_CUR", 1);
        configuration.config("platform.socket.SEEK_DATA", 4);
        configuration.config("platform.socket.SEEK_END", 2);
        configuration.config("platform.socket.SEEK_HOLE", 3);
        configuration.config("platform.socket.SEEK_SET", 0);
        configuration.config("platform.socket.SHUT_RD", 0);
        configuration.config("platform.socket.SHUT_RDWR", 2);
        configuration.config("platform.socket.SHUT_WR", 1);
        configuration.config("platform.socket.SOCK_DGRAM", 2);
        configuration.config("platform.socket.SOCK_RAW", 3);
        configuration.config("platform.socket.SOCK_RDM", 4);
        configuration.config("platform.socket.SOCK_SEQPACKET", 5);
        configuration.config("platform.socket.SOCK_STREAM", 1);
        configuration.config("platform.socket.SOL_SOCKET", 65535);
        configuration.config("platform.socket.SO_ACCEPTCONN", 2);
        configuration.config("platform.socket.SO_BINDTODEVICE", 4404);
        configuration.config("platform.socket.SO_BROADCAST", 32);
        configuration.config("platform.socket.SO_DEBUG", 1);
        configuration.config("platform.socket.SO_DONTROUTE", 16);
        configuration.config("platform.socket.SO_ERROR", 4103);
        configuration.config("platform.socket.SO_KEEPALIVE", 8);
        configuration.config("platform.socket.SO_LINGER", 128);
        configuration.config("platform.socket.SO_OOBINLINE", 256);
        configuration.config("platform.socket.SO_RCVBUF", 4098);
        configuration.config("platform.socket.SO_RCVLOWAT", 4100);
        configuration.config("platform.socket.SO_RCVTIMEO", 4102);
        configuration.config("platform.socket.SO_REUSEADDR", 4);
        configuration.config("platform.socket.SO_REUSEPORT", 512);
        configuration.config("platform.socket.SO_SNDBUF", 4097);
        configuration.config("platform.socket.SO_SNDLOWAT", 4099);
        configuration.config("platform.socket.SO_SNDTIMEO", 4101);
        configuration.config("platform.socket.SO_TIMESTAMP", 1024);
        configuration.config("platform.socket.SO_TYPE", 4104);
        configuration.config("platform.socket.TCP_FASTOPEN", 261);
        configuration.config("platform.socket.TCP_KEEPCNT", 258);
        configuration.config("platform.socket.TCP_KEEPINTVL", 257);
        configuration.config("platform.socket.TCP_MAXSEG", 2);
        configuration.config("platform.socket.TCP_NODELAY", 1);
        configuration.config("platform.socket.SOMAXCONN", 128);
        configuration.config("platform.process.EXIT_SUCCESS", 0);
        configuration.config("platform.process.EXIT_FAILURE", 1);
        configuration.config("platform.process.WNOHANG", 1);
        configuration.config("platform.process.WUNTRACED", 2);
        configuration.config("platform.process.PRIO_PROCESS", 0);
        configuration.config("platform.process.PRIO_PGRP", 1);
        configuration.config("platform.process.PRIO_USER", 2);
        configuration.config("platform.process.RLIMIT_CPU", 0);
        configuration.config("platform.process.RLIMIT_FSIZE", 1);
        configuration.config("platform.process.RLIMIT_DATA", 2);
        configuration.config("platform.process.RLIMIT_STACK", 3);
        configuration.config("platform.process.RLIMIT_CORE", 4);
        configuration.config("platform.process.RLIMIT_RSS", 5);
        configuration.config("platform.process.RLIMIT_NPROC", 7);
        configuration.config("platform.process.RLIMIT_NOFILE", 8);
        configuration.config("platform.process.RLIMIT_MEMLOCK", 6);
        configuration.config("platform.process.RLIMIT_AS", 5);
        configuration.config("platform.process.RLIM_INFINITY", 9223372036854775807L);
        configuration.config("platform.process.RLIM_SAVED_MAX", 9223372036854775807L);
        configuration.config("platform.process.RLIM_SAVED_CUR", 9223372036854775807L);
        configuration.config("platform.signal.SIGHUP", 1);
        configuration.config("platform.signal.SIGINT", 2);
        configuration.config("platform.signal.SIGQUIT", 3);
        configuration.config("platform.signal.SIGILL", 4);
        configuration.config("platform.signal.SIGTRAP", 5);
        configuration.config("platform.signal.SIGIOT", 6);
        configuration.config("platform.signal.SIGABRT", 6);
        configuration.config("platform.signal.SIGEMT", 7);
        configuration.config("platform.signal.SIGFPE", 8);
        configuration.config("platform.signal.SIGKILL", 9);
        configuration.config("platform.signal.SIGBUS", 10);
        configuration.config("platform.signal.SIGSEGV", 11);
        configuration.config("platform.signal.SIGSYS", 12);
        configuration.config("platform.signal.SIGPIPE", 13);
        configuration.config("platform.signal.SIGALRM", 14);
        configuration.config("platform.signal.SIGTERM", 15);
        configuration.config("platform.signal.SIGURG", 16);
        configuration.config("platform.signal.SIGSTOP", 17);
        configuration.config("platform.signal.SIGTSTP", 18);
        configuration.config("platform.signal.SIGCONT", 19);
        configuration.config("platform.signal.SIGCHLD", 20);
        configuration.config("platform.signal.SIGTTIN", 21);
        configuration.config("platform.signal.SIGTTOU", 22);
        configuration.config("platform.signal.SIGIO", 23);
        configuration.config("platform.signal.SIGXCPU", 24);
        configuration.config("platform.signal.SIGXFSZ", 25);
        configuration.config("platform.signal.SIGVTALRM", 26);
        configuration.config("platform.signal.SIGPROF", 27);
        configuration.config("platform.signal.SIGWINCH", 28);
        configuration.config("platform.signal.SIGUSR1", 30);
        configuration.config("platform.signal.SIGUSR2", 31);
        configuration.config("platform.signal.SIGINFO", 29);
        configuration.config("platform.dlopen.RTLD_LAZY", 1);
        configuration.config("platform.dlopen.RTLD_NOW", 2);
        configuration.config("platform.dlopen.RTLD_LOCAL", 4);
        configuration.config("platform.dlopen.RTLD_GLOBAL", 8);
        configuration.config("platform.dlopen.RTLD_NEXT", -1);
        configuration.config("platform.dlopen.RTLD_DEFAULT", -2);
        configuration.config("platform.clocks.CLOCK_MONOTONIC", 6);
        configuration.config("platform.clocks.CLOCK_MONOTONIC_RAW", 4);
        configuration.config("platform.clocks.CLOCK_MONOTONIC_RAW_APPROX", 5);
        configuration.config("platform.clocks.CLOCK_PROCESS_CPUTIME_ID", 12);
        configuration.config("platform.clocks.CLOCK_REALTIME", 0);
        configuration.config("platform.clocks.CLOCK_THREAD_CPUTIME_ID", 16);
        configuration.config("platform.clocks.CLOCK_UPTIME_RAW", 8);
        configuration.config("platform.clocks.CLOCK_UPTIME_RAW_APPROX", 9);
        configuration.config("platform.typedef.int8_t", string(context, "char"));
        configuration.config("platform.typedef.int16_t", string(context, "short"));
        configuration.config("platform.typedef.int32_t", string(context, "int"));
        configuration.config("platform.typedef.int64_t", string(context, "long_long"));
        configuration.config("platform.typedef.uint8_t", string(context, "uchar"));
        configuration.config("platform.typedef.uint16_t", string(context, "ushort"));
        configuration.config("platform.typedef.uint32_t", string(context, "uint"));
        configuration.config("platform.typedef.uint64_t", string(context, "ulong_long"));
        configuration.config("platform.typedef.int_least8_t", string(context, "char"));
        configuration.config("platform.typedef.int_least16_t", string(context, "short"));
        configuration.config("platform.typedef.int_least32_t", string(context, "int"));
        configuration.config("platform.typedef.int_least64_t", string(context, "long_long"));
        configuration.config("platform.typedef.uint_least8_t", string(context, "uchar"));
        configuration.config("platform.typedef.uint_least16_t", string(context, "ushort"));
        configuration.config("platform.typedef.uint_least32_t", string(context, "uint"));
        configuration.config("platform.typedef.uint_least64_t", string(context, "ulong_long"));
        configuration.config("platform.typedef.int_fast8_t", string(context, "char"));
        configuration.config("platform.typedef.int_fast16_t", string(context, "short"));
        configuration.config("platform.typedef.int_fast32_t", string(context, "int"));
        configuration.config("platform.typedef.int_fast64_t", string(context, "long_long"));
        configuration.config("platform.typedef.uint_fast8_t", string(context, "uchar"));
        configuration.config("platform.typedef.uint_fast16_t", string(context, "ushort"));
        configuration.config("platform.typedef.uint_fast32_t", string(context, "uint"));
        configuration.config("platform.typedef.uint_fast64_t", string(context, "ulong_long"));
        configuration.config("platform.typedef.intptr_t", string(context, "long"));
        configuration.config("platform.typedef.uintptr_t", string(context, "ulong"));
        configuration.config("platform.typedef.intmax_t", string(context, "long"));
        configuration.config("platform.typedef.uintmax_t", string(context, "ulong"));
        configuration.config("platform.typedef.ptrdiff_t", string(context, "long"));
        configuration.config("platform.typedef.size_t", string(context, "ulong"));
        configuration.config("platform.typedef.rsize_t", string(context, "ulong"));
        configuration.config("platform.typedef.wchar_t", string(context, "int"));
        configuration.config("platform.typedef.u_int8_t", string(context, "uchar"));
        configuration.config("platform.typedef.u_int16_t", string(context, "ushort"));
        configuration.config("platform.typedef.u_int32_t", string(context, "uint"));
        configuration.config("platform.typedef.u_int64_t", string(context, "ulong_long"));
        configuration.config("platform.typedef.register_t", string(context, "long_long"));
        configuration.config("platform.typedef.user_addr_t", string(context, "ulong_long"));
        configuration.config("platform.typedef.user_size_t", string(context, "ulong_long"));
        configuration.config("platform.typedef.user_ssize_t", string(context, "long_long"));
        configuration.config("platform.typedef.user_long_t", string(context, "long_long"));
        configuration.config("platform.typedef.user_ulong_t", string(context, "ulong_long"));
        configuration.config("platform.typedef.user_time_t", string(context, "long_long"));
        configuration.config("platform.typedef.user_off_t", string(context, "long_long"));
        configuration.config("platform.typedef.syscall_arg_t", string(context, "ulong_long"));
        configuration.config("platform.typedef.u_char", string(context, "uchar"));
        configuration.config("platform.typedef.u_short", string(context, "ushort"));
        configuration.config("platform.typedef.u_int", string(context, "uint"));
        configuration.config("platform.typedef.u_long", string(context, "ulong"));
        configuration.config("platform.typedef.ushort", string(context, "ushort"));
        configuration.config("platform.typedef.uint", string(context, "uint"));
        configuration.config("platform.typedef.u_quad_t", string(context, "ulong_long"));
        configuration.config("platform.typedef.quad_t", string(context, "long_long"));
        configuration.config("platform.typedef.qaddr_t", string(context, "pointer"));
        configuration.config("platform.typedef.caddr_t", string(context, "string"));
        configuration.config("platform.typedef.daddr_t", string(context, "int"));
        configuration.config("platform.typedef.dev_t", string(context, "int"));
        configuration.config("platform.typedef.fixpt_t", string(context, "uint"));
        configuration.config("platform.typedef.blkcnt_t", string(context, "long_long"));
        configuration.config("platform.typedef.blksize_t", string(context, "int"));
        configuration.config("platform.typedef.gid_t", string(context, "uint"));
        configuration.config("platform.typedef.in_addr_t", string(context, "uint"));
        configuration.config("platform.typedef.in_port_t", string(context, "ushort"));
        configuration.config("platform.typedef.ino_t", string(context, "ulong_long"));
        configuration.config("platform.typedef.ino64_t", string(context, "ulong_long"));
        configuration.config("platform.typedef.key_t", string(context, "int"));
        configuration.config("platform.typedef.mode_t", string(context, "ushort"));
        configuration.config("platform.typedef.nlink_t", string(context, "ushort"));
        configuration.config("platform.typedef.id_t", string(context, "uint"));
        configuration.config("platform.typedef.pid_t", string(context, "int"));
        configuration.config("platform.typedef.off_t", string(context, "long_long"));
        configuration.config("platform.typedef.segsz_t", string(context, "int"));
        configuration.config("platform.typedef.swblk_t", string(context, "int"));
        configuration.config("platform.typedef.uid_t", string(context, "uint"));
        configuration.config("platform.typedef.clock_t", string(context, "ulong"));
        configuration.config("platform.typedef.ssize_t", string(context, "long"));
        configuration.config("platform.typedef.time_t", string(context, "long"));
        configuration.config("platform.typedef.useconds_t", string(context, "uint"));
        configuration.config("platform.typedef.suseconds_t", string(context, "int"));
        configuration.config("platform.typedef.errno_t", string(context, "int"));
        configuration.config("platform.typedef.fd_mask", string(context, "int"));
        configuration.config("platform.typedef.pthread_key_t", string(context, "ulong"));
        configuration.config("platform.typedef.fsblkcnt_t", string(context, "uint"));
        configuration.config("platform.typedef.fsfilcnt_t", string(context, "uint"));
        configuration.config("platform.typedef.sa_family_t", string(context, "uchar"));
        configuration.config("platform.typedef.socklen_t", string(context, "uint"));
        configuration.config("platform.typedef.sae_associd_t", string(context, "uint"));
        configuration.config("platform.typedef.sae_connid_t", string(context, "uint"));
        configuration.config("platform.typedef.rlim_t", string(context, "ulong_long"));
        configuration.config("platform.typedef.rusage_info_t", string(context, "pointer"));
        configuration.config("platform.typedef.nfds_t", string(context, "uint"));
        configuration.config("platform.typedef.pthread_t", string(context, "pointer"));
    }

}
